package com.asura.app.wechat.ui.moment;

import com.asura.app.wechat.base.mvp.Mvp;
import com.asura.app.wechat.repository.model.Tweet;
import com.asura.app.wechat.repository.model.UserInfo;

import java.util.List;

/**
 * Created by Asura on 2017/12/29.
 */

public interface MomentContract {
    interface View extends Mvp.View<Presenter> {
        void showInitLoadLoading();

        void showInitLoadResult(UserInfo userInfo, List<Tweet> tweets);

        void showInitLoadError(String message);

        void showLoadMoreLoading();

        void showLoadMoreResult(List<Tweet> tweets);

        void showLoadMoreError(String message);

        void showRefreshLoading();

        void showRefreshResult(UserInfo userInfo, List<Tweet> tweets);

        void showRefreshError(String message);

    }

    interface Presenter extends Mvp.Presenter<View> {
        void initLoadTweets();

        void loadMoreTweets(String id);

        void refreshTweets();

        void cancelRefreshTweets();
    }
}
